from ppts.entity.PagePerformanceData import PagePerformanceData
import time


def to_exec(driver=None):
    begin = time.time()
    driver.get("https://dtmp.xuwangcheng.com")
    driver.find_element_by_xpath('/html/body/div[1]/div/main/div[2]/form/div[2]/div/div/input').send_keys('admin')
    driver.find_element_by_xpath('/html/body/div[1]/div/main/div[2]/form/div[3]/div/div/input').send_keys('')
    # 等待20s,手动输入验证码，进入页面
    time.sleep(15)
    # 点击登陆
    driver.find_element_by_xpath('/html/body/div[1]/div/main/div[2]/form/div[5]/div/button').click()
    # 检查元素，针对单页面应用
    driver.find_element('xpath', '/html/body/div[1]/nav/div[2]/ul[2]/li[4]/div/span/span')
    end = time.time()
    # 加载时间
    load_time = int(round((end - begin) * 1000))
    data = PagePerformanceData()
    # 自行根据业务向其中放入性能数据，page_load_time代表整体的加载耗时，在此处表示整个业务流程的耗时
    # 应该要减去sleep的时间
    data.page_load_time = load_time - (15 * 1000)
    # 返回性能数据
    return data
